package com.ruoyi.pay.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 订单管理对象 order_pay_info
 *
 * @author ruoyi
 * @date 2022-08-31
 */
public class OrderPayInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 订单号 */
    private String orderNum;

    /** 订单状态 （UNPAY:未支付 PAID :已支付 CANCEL:已取消） */
    @Excel(name = "订单状态 ", readConverterExp = "U=NPAY:未支付,P=AID,:=已支付,C=ANCEL:已取消")
    private String orderStatus;

    /** 订单商品名称 */
    @Excel(name = "订单商品名称")
    private String orderGoods;

    /** 订单金额（单位：分） */
    @Excel(name = "订单金额", readConverterExp = "单=位：分")
    private Long orderPrice;

    /** 订单类型（1：商品 2：充值 3：优惠券 4：礼品卡） */
    @Excel(name = "订单类型", readConverterExp = "1=：商品,2=：充值,3=：优惠券,4=：礼品卡")
    private String orderType;

    /** 支付码ID */
    @Excel(name = "支付码ID")
    private Long qrId;

    /** 完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date finishTime;

    /** 过期时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "过期时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date expireTime;

    /** WX:微信 ZFB:支付宝 XJ:现金 SMF:扫码支付 */
    @Excel(name = "支付方式")
    private String payWay;

    /**
     * 来源  1：系统内部 2：外部接口
     */
    private String orderSource;
    /**
     * 回调地址
     */
    private String redirectUrl;
    /**
     * 扩展字段
     */
    private String extension;

    public String getRedirectUrl() {
        return redirectUrl;
    }

    public void setRedirectUrl(String redirectUrl) {
        this.redirectUrl = redirectUrl;
    }

    public String getExtension() {
        return extension;
    }

    public void setExtension(String extension) {
        this.extension = extension;
    }

    public String getOrderSource() {
        return orderSource;
    }

    public void setOrderSource(String orderSource) {
        this.orderSource = orderSource;
    }

    public void setOrderNum(String orderNum)
    {
        this.orderNum = orderNum;
    }

    public String getOrderNum()
    {
        return orderNum;
    }
    public void setOrderStatus(String orderStatus)
    {
        this.orderStatus = orderStatus;
    }

    public String getOrderStatus()
    {
        return orderStatus;
    }
    public void setOrderGoods(String orderGoods)
    {
        this.orderGoods = orderGoods;
    }

    public String getOrderGoods()
    {
        return orderGoods;
    }
    public void setOrderPrice(Long orderPrice)
    {
        this.orderPrice = orderPrice;
    }

    public Long getOrderPrice()
    {
        return orderPrice;
    }
    public void setOrderType(String orderType)
    {
        this.orderType = orderType;
    }

    public String getOrderType()
    {
        return orderType;
    }
    public void setQrId(Long qrId)
    {
        this.qrId = qrId;
    }

    public Long getQrId()
    {
        return qrId;
    }
    public void setFinishTime(Date finishTime)
    {
        this.finishTime = finishTime;
    }

    public Date getFinishTime()
    {
        return finishTime;
    }
    public void setExpireTime(Date expireTime)
    {
        this.expireTime = expireTime;
    }

    public Date getExpireTime()
    {
        return expireTime;
    }
    public void setPayWay(String payWay)
    {
        this.payWay = payWay;
    }

    public String getPayWay()
    {
        return payWay;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("orderNum", getOrderNum())
            .append("orderStatus", getOrderStatus())
            .append("orderGoods", getOrderGoods())
            .append("orderPrice", getOrderPrice())
            .append("orderType", getOrderType())
            .append("qrId", getQrId())
            .append("createTime", getCreateTime())
            .append("finishTime", getFinishTime())
            .append("expireTime", getExpireTime())
            .append("payWay", getPayWay())
            .toString();
    }
}
